home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
business
/
idex218.zip
/
INFODEX.1
/
INFODEX.REV
< prev
next >
Wrap
Text File
|
1995-09-02
|
68KB
|
1,407 lines
Infodex Revision History
09-02-95 ■ Version 2.18
. Added the ability for the user to eliminate the text delimiter
when exporting records. (Added by user request.)
08-22-95 ■ Version 2.17
. Fixed a problem where an error #10164 (Invalid Key Number) would
occur for every record when an import was attempted. The
CurrentSortKey value was not being initialized. When the
Add Record routine attempted to reset the sequential pointer
after the Add operation, (based on the CurrentSortKey value),
an error message came up stating "Invalid Key Number". This
problem was introduced in version 2.15.
. Fixed a problem where the "Decimal Places" field on the
Edit Control screen was not saving the original value the user
entered. (The user could modify the control, which would save
the value, but the initial value was not being remembered.)
07-20-95 ■ Version 2.16
. Improved the printing support to position the fields on the
report in the same relative location as they appear on the
screen.
. Fixed a problem in the printing routines where a RunTime Error
216 could occur if the user attempted to print a record with
memo field text longer than 255 characters.
. Added drag & drop mouse support on the layout screen to allow
users to move fields and prompts more easily. Users can click
on the field delimiter (if field delimiters are being used, or
on the field handle, if delimiters are not being used) and drag
the field to a new location.
06-05-95 ■ Version 2.15
. Incorporated updates to newest database code (v5.51).
. Removed the "Initializing Database. Please Wait..." status
screen, since the time required for database initialization
has been drastically reduced.
. Reduced the memory requirements and the time required to
initialize the database by using the "MinimizeUseOfNormalHeap"
constant in the BTInitIsam statement. This should help
systems which have a limited amount of Extended (or DPMI)
memory available.
. Reset the sequential record pointer after adding or modifying
a record.
. Created a literal string unit containing all strings that
are read from the INI file and used variable references
instead of literal strings, reducing the chance for typing
or spelling errors.
. Updated the RTM.EXE and DPMI16BI.OVL files to the newest
version (6-14-94).
. Increased the lock timeout value for network users. Now,
the lock-error retry loop will attempt to complete an
operation for 1.5 seconds before issuing a retry error.
(This was increased from a previous value of 0.76 seconds.)
. Added a lock-error retry loop for network users. This
loop prompts the user whether or not to retry the current
operation if it failed due to a locking error.
. Changed the Default Maximum Number of Workstations from
50 to 250 to allow network licenses of up to 250 users.
. Removed code that directly assigned the Maximum Number of
Allowed Workstations (MaxNrOfWorkstations) value based on
the Network Users field. This value affects the size of the
dialog (.DIA) file. Instead, we are limiting access at run
time based on the number of users accessing the database.
(Most users should not notice a change. Registered NETWORK
users will want to read the "Cautions" section of the
documentation file.
. Added code to limit the number of network users that may
access an Infodex database at one time. Registered network
users will only be allowed access depending on the number
of network users in their license. Non-registered users are
allowed to have 5 users access the database at one time.
(This is for evaluation purposes only. Database record limits
will still apply for the non-registered version.)
. Changed the default behavior of Infodex after deleting a
message. Instead of resetting to the beginning of the database,
it now advances to the next record. (If for some reason, it
cannot access the next record properly, it will then reset to
the beginning.)
04-01-95 ■ Version 2.14
. Added a new installation program that handles compressed
program files.
. Fixed a problem where F3 was not working properly to change
the database description, which appeared on the top of the
editing screen.
. Created a real-mode version (8088 or higher) of Infodex for
users who are experiencing problem with insufficient extended
memory. The protected mode version (standard) will be renamed
to INFODEXP.EXE, while the real-mode version will become
INFODEX.EXE. The real-mode version uses an overlay file, which
can be loaded into EMS. This will allow more users (especially
those with limited extended memory) to use Infodex.
Note: Users who have successfully used Infodex in the past
without noticing problems will want to use INFODEXP.EXE, while
those experiencing insufficient memory problems will want to
try the INFODEX.EXE file. For complete information about memory
requirements for each version of the program, see the "Memory
Requirements" section of the documentation.
. Reworked the status screens to use a common status screen from
an internal STSI library.
. Removed use of custom exit procedure, which has been found
to cause intermittent problems with protected mode applications
under Novell NetWare when using OS/2.
. Fixed a heap leak problem where a large structure was not being
properly disposed of in the database closing procedure.
02-14-95 ■ Version 2.13
. Found and fixed a major problem where deleting a field in
the database (after the database had been created) could
cause corruption in subsequent fields of the database. If
the field being deleted was the last field in the database,
this problem would not be noticed.
. Shortened the registration number field on the Register
Infodex screen to 12 characters.
. Modified the online help system to only open the help file
when F1 is pressed. Previously, the help file was open the
entire time that the program was running.
. Updated database libraries to the newest version. This
can cause a noticeable increase in speed, especially when
rebuilding the database index.
. Changed several of the window and browser drawing routines
to be taken from our internal libraries.
. Cleaned up several of the display issues when moving controls
on the layout screen.
. Changed the About box to a standard stAboutBox from our
internal libraries.
. Updated copyright notices.
. Enabled the use of up and down arrow keys on all dialogs in
place of the Tab and Shift-Tab keys.
. Fixed a problem where pressing Tab in the search dialog
pick list did not advance the cursor to the Ok button.
Also added "Alt-S" support to the pick list to set the focus
on the search string control.
. Enhanced the printing routines and added a status display
that allows the user to terminate in the middle of the
printing process by pressing Escape.
. Added the ability to print all records in the database at
one time.
. Added a message box to the Previous and Next routines to
warn the users when the database "wraps" around to the first
or last message in the database.
. Added a custom exit procedure to be executed in the event
that a Runtime error occurs.
. Changed the way Infodex looks for the default path. If a
"SET INFODEX=" statement is not present in the DOS PATH, it
then uses the directory where INFODEX.EXE resides as the
default path.
11-08-94 ■ Version 2.12
. Fixed a display problem where the browser's 3-d appearance
was not evident until the second time it was initialized.
. Began initial coding for importing an Infodex v1.x database,
using the file ISAMIO.EXE to generate a comma-delimited ASCII
file which can be imported with Infodex version 2. (The only
templates which may not import properly from version 1 are the
recipes and small notes templates. Issues related to these
two templates will be addressed in a future version. All
other templates import fine. Users will need to modify the
field names for databases that are imported. Users may also
desire to modify the default field placement.)
. Decreased the maximum column that fields can extend to by 1.
This makes sure that fields with delimiters cannot extend
immediately up to the dividing line.
. Changed the default color of the field delimiters to light
gray on blue instead of white on blue.
. Fixed a problem where importing a text file could cause
an error creating the header file. This occurred because
the import file had a field that was blank in every record.
The new code makes sure that each field is at least 1
character long when creating the new database. (If the user
does not want this field present, they can delete it after
the database has been imported.)
. Added a Notes indicator character (#14) to the end of each
memo field on the entry screen. This allows mouse users to
simply click on the notes character to view or modify the
contents of the memo field. Note: The memo field text will
be shown in read-only mode, unless the record is actually
being edited. If the record is being edited, the text can
be modified as usual.
. Removed an unnecessary color set from code to prepare for
an eventual global color set.
. Moved the Layout button to the Other Options screen, and
moved the Print button to the main editing screen to make
printing features more easily available to users.
10-15-94 ■ Version 2.11
. Made the default display length for numeric fields to be
15, instead of 5, when importing a database, or re-creating
a missing .INF file.
. Fixed a problem where entering and exiting from Layout mode
would cause the decimal places value of each numeric field
to be reset to 0. Field now retains its original decimal
places value.
. Added support to allow the user to decide whether or not
field delimiters should be used. Added a check box to
the configuration options screen for this purpose.
. Fixed a minor problem where the UseSaveMode variable
was not being read from the INFODEX.INI file properly.
UseSaveMode was always being set to true (which is the
default).
. Modified code to clean up the process that redraws field
delimiters when controls are moved around on the layout
screen.
. Fixed a screen drawing problem on the layout screen where
some added headers were not being drawn when the screen
was first displayed.
. Fixed a problem where users could not Delete a record
from the database. Problem would appear after new fields
had been added to or deleted from the database, or after
record lengths were resized. When these processes were
initialized, the AddNulls variable was set to False instead
of True, causing routines not to add empty keys to the
index file. If you are experiencing any problems such as
this, perform the following steps to correct it: 1. Copy
the database files to a separate sub-directory, in case
something goes wrong. 2. Erase the index file. (For
example, if your database is named 'TEST'(.DAT), erase the
file TEST.IX.) 3. Execute Infodex and open the database.
An error message will occur telling you the index file is
missing. When it prompts you to rebuild the file, select
Yes. When the rebuilding process is complete, you should
be able to edit your data file and, if necessary, delete
records.
. Removed some obscure trouble-shooting code that was left
over in a reorganization process routine.
. Dramatically increased the speed of searching for the
first and last records in the database. A noticeable
slowdown was apparent on large databases with the old
method. The new method is extremely fast.
. Fixed a problem where a RunTime Error #213 would occur
when attempting to import a database that contained a numeric
field. Key creation routine was attempting to access
an index value that was out of range.
. Disabled I/O checking before attempting to erase and
recreate the .INF file in the WriteINFFile routine.
This reduces the chance for errors if the file cannot
be erased or recreated successfully.
. Fixed a problem where the .INF file was being opened
before the database was opened, and it was not being
closed until the database was closed.
. Fixed an incorrect version number displayed on the
About box.
10-11-94 ■ Version 2.10
. Added a check to warn the user when importing if the
database filename already exists. If it does, the user
has the option of cancelling the operation or continuing
by overwriting the existing file.
. Fixed a problem in the import routine which did not
recognize successive commas as representing blank fields.
Some programs export using a set of empty quotes, while
others simple put a successive field delimiter. Infodex
now recognizes both types.
. Reworked the display of status windows when creating and
opening a database. New method displays more windows for
a lesser period of time, giving the user a better indication
of exactly what operation is being performed.
. Dramatically increased the speed at which Infodex opens
an existing database. (A call to GetFirstRecord was causing
a significant speed degradation in large data files. When
a file is opened, it is automatically located at the first
record, making this call unnecessary.) Large databases now
load extremely fast.
. Added support for importing a delimited ASCII text file.
(Typically a quote/comma delimited file.) Infodex adds
default field names, and supplies a default layout.
Layout can be easily changed by the user.
. Removed the Print button from the main editing screen
and replaced it with an "Other" button. The Other button
calls up a dialog box with the Print and Export buttons
displayed.
. Added support for exporting the database records into
a comma delimited file.
. Added support for monochrome mode by cleaning up the
existing display for a more attractive appearance.
10-01-94 ■ Version 2.06 (Internal BETA Version. Not Released.)
. Added support to make the data records from Infodex 2.00
through 2.02 import and create a field layout *similar*
to the original layout found in these versions.
(Eventually, a separate conversion unit may be created
to reduce code size, increasing the likelihood of having
a Real Mode version.)
. Fixed a problem in the Browser where pressing ESCAPE did
not always return to the same record that was displayed
before the Browser was initialized.
. Modified the BuildKey routine to trim the leading spaces
off of numeric key strings. This makes it much easier
for users to search for a numeric value in the database.
. Fixed a problem where the pressing ENTER on a record in
the Browser screen would not always cause the exact
record to be displayed. The Browser was going to the
first record that started with the key string that was
highlighted. Changed routine to make sure an exact match
was found, return the reference number and move to that
location in the database file.
. Fixed an obscure problem where trying to Open a non-
existent file from the Open File screen and then hitting
escape would cause a couple of error message boxes to
appear. Made sure that the selected file exists before
attempting to do any operations.
. Updated the Delete File routine to make sure that all
files associated with a database file (.DAT, .IX, .INF,
.DBH, & .DIA) were being deleted.
. Fixed a problem where the tab and down arrow keys were
not working when focused on the New button.
. Added a simple error check to make sure a for loop
cannot be executed on the master field list collection
if there is not at least one field within the list.
. Moved the writing of the field information from the
.FLD file to the .INF file. This eliminates one of the
files needed for database maintenance and will make the
transition from an older version of Infodex to a newer
one much easier.
. Added a "Version=' line to the .INF file to indicate
the version of Infodex used to create and write the data
files. This may be useful in future versions if a
conversion routine/utility is needed.
. Added commas between the row and column fields on the
Edit Field screen to better show the user the format.
. Modified the Edit Field screen to protect the Field
Length control from being modified if the field type
is a number. The Display Length should always be set
long enough to display any number contained in the
associated field of the database.
. Decreased the allowable decimal places on a numeric
field from 10 to 4.
. Made sure that memo fields were being trimmed properly
when a user decreases the length of a memo field.
. Fixed a problem where intermittent hangs would occur
after changing the size of a field within the record
layout. Problem was due to a call to FreeMem using an
old size parameter. Moved the FreeMem call to circum-
vent this problem.
. Created a series of routines to be executed when a user
resizes an existing database field. A temporary file is
created while the process is executed and Infodex restruc-
tures the existing database fields.
. Increased the speed of the routine that sets the tab
order when New or Edit is selected from the editing
screen. Converted coordinates for each field to a
string in order to store them in a sorted string array.
. Added an option flag to make sure that all numeric fields
are right-justified.
. Modified code to allocate enough memory for the maximum
possible length of a field's displayed width on the screen.
This will allow users to increase a field's displayed
length without trashing memory.
. Formatted the display of numeric fields within the browser
screen so that the formatted string is only as wide as
the display length for the field, and that the number fits
accordingly into the allotted length.
. Modified code for the browser screen to make each column
only as wide as the display length of each field, or the
header of each field, whichever is larger. This may
allow some databases to fit more information within the
limits of the Browser screen.
. Added a check to make sure that a user cannot create
a field from the Edit Field dialog box that extends
past the bounds of the layout area.
. Added a check to make sure that a user cannot enter
a display length for a field that is greater than the
actual field length. If the display length is found to
be greater, it is set equal to the field length.
. Added code to protect the Decimal Places field on the
Edit Field dialog box based on the selection of the
field type. The Decimal Places field should only be
accessible if the field type is a numeric field.
. Fixed a problem where the field type control on the
Edit Field dialog box was being protected, even if the
user was trying to add a new control to an existing
database.
. Added a Title Bar Display section to the Register
Infodex screen to allow registered users to customize
the display on the Infodex title bar. Added the new
variable to the INFODEX.INI file.
09-25-94 ■ Version 2.05 (Internal BETA Version. Not Released.)
. Added support for a "Decimal Places" field on the Edit
Field dialog box. Implemented support for this feature
when adding numeric fields to the editing screen.
. Added code to protect the field type control on the
Edit Field dialog box after a database is created. This
is done to make sure that users cannot attempt to change
a character field to a numeric field, (and similar scenarios)
which would cause corruption of the database.
. Added a procedure to dynamically change the tab order,
based on the layout of the fields within the layout dialog
box. The tab order will start at the top left, move to
any field directly to its right, and then go to the next
line and repeat the process.
. Added a line of text to the top line of the Infodex back-
ground screen that displays either 1) the registration
name of the REGISTERED user, or 2) the text "UNREGISTERED
Version" if the user has not yet registered Infodex.
. Changed the order of the initialization code to make
processing the path to Infodex and reading the file
INFODEX.INI the first two tasks.
. Removed unnecessary procedure declaring new instances of
pointers. These pointers (which contain the record data)
are allocated using GetMem later in the program.
. Made sure that controls added to the layout screen are
added as read-only, to prevent the modification of the
displayed data.
. Modified code to automatically increment the new row field
when adding a control to the layout screen, based on the
current number of editing fields on the screen.
. Modified code to make the focus return to the first editing
field on the layout screen after a user selects one of the
move buttons or selects Cancel when attempting to add
a new control.
. Fixed a problem where the EqualRec routine was returning
the value of False each time it was called, even if the
two records should have compared. When editing a record,
if no changes had been made and the user pressed Escape,
Infodex would prompt to save the changes. Added code to
compare each field in the old and new records individually,
instead of using a structural compare.
. Removed tab order field from the edit control dialog
box. Although the tab order is still maintained within
each field record, it is not used at this time.
. Fixed a problem where a changing a field name on the
layout screen did not always redraw properly. If the
new name was shorter than the old name, "left-over"
characters would still be displayed. Modified code to
pad all field names to 15 characters, both on the layout
and actual editing screens.
. Fixed a problem on the search screen where the dialog
box would not be initialized properly if the search field
pick list had less than 4 or 5 items in it. Added
commands to make sure that the pick list was initialized
to its full height, allowing the scroll bars to be added
properly.
. Hid the display of the Cancel button on the layout screen
when modifying an existing database's layout. Due to
the restructuring of added or deleted fields when modifying
the layout, users must select Done instead.
. Added the capability for users to delete a field from
the layout screen after a database has been created.
The database is automatically reorganized to delete
the proper field. Fields can be deleted from anywhere
within the record structure.
09-23-94 ■ Version 2.04 (Internal BETA Version. Not Released.)
. Fixed a problem where a reorganization of the database
after adding a numeric field was causing the database
to be corrupted. The offset of the numeric field was
one byte too large.
. Added support for users to add a field to the layout
screen after a database has been created. The database
is automatically reorganized to add a new field of the
type specified. The field is automatically added to the
end of the record structure.
. Added support for Infodex to erase the old editing screen
and redraw a new one when the Layout of the screen has
been changed.
. Added a Layout button to the main database editing screen
to allow users to modify the layout of the fields at any
time after a database has been originally created.
. Added a command to clear each editing field on the create
new database screen each time a character is entered as
the first character when a field receives the focus.
. Eliminated redundant number displays in front of each
field on the create new database screen.
. Changed the "Prompt" text on the top of the create
new database screen to display "Field Name", "Type",
and "Length".
. Added a status window when Infodex attempts to open
an existing database or create a new database. If
the time delay is substantial, this will inform the
user what is happening.
09-10-94 ■ Version 2.03 (Internal BETA Version. Not Released.)
. Made sure that the sum of all field lengths was not
longer than 65530 characters when creating a new template.
In order to store records, they must be less than 64K.
. Made sure that users could not create a character field
less than 1 or greater than 254 characters long when
creating a new template. Also made sure that memo fields
were within the boundaries of 1 to 65530.
. Moved the command that closes the header file to complete
this operation immediately after the fileblock is opened.
This should reduce the chance of conflicts in network
situations.
. Added commands to free any memory within the Done
destructor that had been dynamically allocated to contain
the record data.
. Fixed a typo on the registration nag screen that stated
that Infodex was $29.95, when the actual price was
$34.95.
. Made sure that Infodex was accurately warning a user
who wanted to stop editing the current record without
saving his/her changes.
. Added the ability to print the first 256 characters of
a memo field on a printout. Infodex now issues a page
break between each record.
. Removed ability to View templates. Since the user can
now create templates dynamically, this feature is no
longer needed.
. Fixed a problem where selecting a record from the Browser
screen after a search process would not always find the
correct record. (Code was set to search for selected
text based on the first key field, instead of the current
key field.)
. Changed the search screen to display a pick list contain-
ing all of the indexed fields, instead of displaying a
collection of radio buttons. Users can select one field
from the pick list to search for the specified Search
String.
. Removed display sections ([ ]) on the status line at the
bottom of the screen. Since a database can have several
memo (notes) fields, a Notes indicator is not necessary
or practical. The other two fields (Read-Only indicator
and Status indicator) were not being used.
. Lengthened the Nested Field display for memo fields out
to the maximum size allowable. This gives users a good
visual indication of what text is maintained within the
first 50 (approx.) characters of the memo field.
. Made a prompt width of 15 the standard for field prompts.
This should allow enough room for most field names, while
keeping it short enough to allow sufficient room for data
entry fields.
. Modified the routine that changes the Database descrip-
tion. The entire template does not need to be redrawn
when the description is changed. The title is simply
updated on the main dialog box.
. Removed the Notes button from the right side of the
editing dialog box. Notes fields (a.k.a. Memo fields)
can now be edited by pressing ENTER on the nested Notes
fields located inside of the editing area.
. Added support for Infodex to read files created with
versions 2.00 through 2.02. (Included in this code is
a translation/cleanup procedure for the notes fields
contained in the old databases. Apparently, some
corruption was contained on the end of the Notes field
text when it was being edited, even though it was not
visible. When the databases are imported into this
new version, the corruption should be removed.)
. Added the capability for Infodex to create a database
dynamically, based on data that the user enters. Users
can specify that they want to create alphanumeric fields,
numeric fields, or memo fields.
08-19-94 ■ Version 2.02
. Added support to read "The High-Tech Trader" data
files created by The Bertha BBS. These data files
contain computerized "classified ads" to allow buyers
and sellers to place and respond to product ads. To
download the latest classified ads from The High-Tech
Trader, call The Bertha BBS at (218) 924-2060.
06-21-94 ■ Version 2.01
. Fixed a problem where a RunTime Error #216 (general
protection fault) would occur when closing a database
file if the user had modified the database description
or field names during the session. This problem did
not cause data loss. Problem was caused by referencing
a nil pointer.
05-26-94 ■ Version 2.00
. Released to the general public.
05-25-94 ■ Version 1.60 (Internal Revision - Not Released)
. Fixed intermittent problem with the Help system. Calling
up the Help Topic Index would not always allow a topic to
be selected for viewing.
. Added a check to the Cancel Edit routine to compare whether
or not the user has made any changes to the record before
asking them if they want to save the changes. If no changes
have been made, the Cancel procedes without querying the
user.
. Modified code to make the Template Dialog (editing screen)
global to the Master Template Object, rather than a local
variable that is passed between procedures.
. Added support for the Ctrl-PgUp key combination to trigger
a call to get the first record in the database and for the
Ctrl-PgDn key combination to trigger a call to get the
last record in the database. Also added support for using
the F10 key to save the current record.
. Modified notes field code to only initialize (create) the
notes field once each time a database is created or opened,
and the notes text is reinitialized when the Notes field
is viewed or edited.
. Moved mouse close-box handling for the editing template
to a post-edit routine to handle events based on whether
the template is in Protected mode or not.
. Removed support for /DEBUG mode. New object-oriented
fileblock handling does not directly support this feature.
. Added support for the browser screen to move the high-
light bar to the first record matching the letter typed
by the user.
. Fixed a problem in the search routine where the browser
would be initialized even in the event that there were
no records matching the specified search string. Added
an additional check to make sure that the search string
was located within the current key string after the
search process was completed.
. Added a status routine to the rebuild procedure as an
activity indicator for the user.
. Fixed a problem where the sequential pointer was not
being reset properly after selecting a record from the
browser. This would cause a Next or Previous operation
to fail, bringing up an inaccurate record.
. Turned off word-wrapping in the notes fields.
. Moved the RebuildData routine from each individual template
into the RebuildDataFile routine in the Master Template
Object to reduce code size. This was made possible by
using the new object-oriented database routines.
. Fixed a problem where the Rebuild process was generating
an Error #10125, ("Key Too Long") when attempting to
rebuild STSI's software database. This problem occurred
because the length of the notes field had been changed
after the database was originally created. Changed the
size of the software database notes field back to 2048
bytes.
. Converted notes fields in all templates from Asciiz
strings to individual character strings. This allows
the use of different size notes fields for each template.
A list of note field sizes will be posted in the documenta-
tion file.
. Fixed a problem where an error "RecordType Not Defined"
was occuring after creating a new database. This problem
was caused when a parent object's virtual method did
not appear to be overridden, even though it was. (Problem
was related to VMT's in the parent object's constructors.)
. Eliminated use of the 3rd variable (Temporary) for each
instance of a template object. The new object-oriented
database routines do not require this variable.
. Reworked code to use object-oriented database manage-
ment routines. Moved several more routines into the
Master Template Object to simplify the code.
. Moved the OpenFile, CreateFile, CloseFile, and
RebuildFile routines into the Master Template Object
to simplify the code.
05-18-94 ■ Version 1.50 (Internal Revision - Not Released)
. Added a pre-defined limit for the number of records that
non-registered users may add to a database. Limit is
currently set at 50 records.
. Added support for an integrated context-sensitive help
system.
. Added a "BBS Sysop" field to both of the BBS templates.
. Fixed a problem where the Database Description was not
being reset when a database was closed, causing it to
be displayed on the top of the View Template screen.
. Cleaned up the SetupSearchDefaults routine to pass a
string-array back filled with the appropriate field names.
Eliminated the need to set Y coordinates and a NumStrings
variable.
. Fixed a problem where the View Template miniature dialog
box could not be moved. Added a command to handle any
move events.
. Added a fill character to be displayed in the data fields
when the user views a template. This allows the user to
see the length of each field in the template.
. Changed the template list sub-menus into one common
pick list. When the Create or View options are selected,
the pick list is repositioned. This allowed the addition
of a scroll bar and mouse support for the scroll bar.
. Modified printing routine to only go to the first record
after the printing process if the database was printed
successfully. If Cancel is selected, the database will
stay on the current record.
. Added a confirmation message box when users press
Escape or click the right mouse button when they are
editing a record. Message box queries whether or not
the user wants to save the changes to the current record
before exiting the editing process.
. Modified browser rows to display two blank characters
between each column.
. Added a status window when Infodex initializes the
database manager, to inform the user what is happening.
. Increased the pad width for the Search Fields listed on
the Search dialog box from 23 to 30.
. Added support for a startup database file to be written
to the INFODEX.INI file. When Infodex is executed, it
checks this file to automatically load a default database.
If a command line option (filename) is specified, it will
override the startup database file.
. Set up temporary variables on screens where the settings
of the INI file are modified to make sure that the
settings are not modified directly. Settings are updated
to the actual variables only when Ok is selected.
. Created destructors for each of the template objects.
. Completed the printing dialog box to allow users to
specify which port or filename to send output to.
. Added the ability to add and modify a database description
for each database created. This description will appear
at the top of the template during the editing process.
. Fixed a problem in the View Template routine where the
dialog boxes were not being drawn and displayed.
. Added Generic Template #1, which contains 18 fields of a
45 character length string, along with a notes field.
Added the capability for the user to change the field
names dynamically.
. Adjusted the AutoRepeatTicks and AutoDelayTicks settings
to change the rate at which the mouse repeats after an
initial click and after an auto-repeat click. Set
AutoRepeatTicks to 2, and set AutoDelayTicks to 18.
. Fixed a problem where an Isam Error # 10210 would occur
when attempting to create a new database. The error
would state that the specified key could not be found,
due to the fact that the FindRecord routine is executed
when the database is opened. Fixing this problem also
fixed another glitch where two error messages would be
issued if a search string could not be found during the
search process.
. Modified code in the stTVZifChoiceBox routine to
display the dialog box in 3-D mode, using an out-dented
look.
. Fixed a problem in the ModifyRecord routine that was
causing Infodex to hang in the middle of this routine.
Although a new temporary pointer (to a byte) had been
created, it had not been defined as pointing to a
variable (object). Created a new global object and
pointer, and defined it as pointing to the new global
object. (This problem was not consistent, but occurred
the most often after the Notes field was accessed.)
. Increased size of Notes field in each template to
2K (2048 bytes).
. Added support to all templates for report printing.
(All records only)
. Modified code in the Browser to allow the user to
press Escape without changing the current record that
was being viewed prior to initializing the Browser.
The only time the record will change is if the user
presses ENTER or selects a record with the left-mouse
button.
04-26-94 ■ Version 1.40 (Internal Revision - Not Released)
. Fixed a problem where the command line parameters were
not properly loading a file when /DEBUG was also speci-
fied on the command line.
. Added a "Please Wait" window to the Open and Delete file
routines to notify the user that Infodex is reading the
current directory. This process can take a little while
to complete on large directories.
. Added a "Please Wait" window to the Rebuild Index File
process to notify the user that activity is taking place.
. Added support for a command line switch called /DEBUG
to dynamically enable use of extra commands to
lock and unlock the records and the database for testing
purposes only.
. Added code to allow Infodex to automatically "remember"
the coordinates of the Browser from the last time it was
used. These coordinates are stored in the .INF file and
read each time a database file is loaded from disk.
. Added an error message that informs the user that the
filename specified on the command line does not exist.
. Fixed a problem where pressing Escape on the Open File
screen would produce an error message that the filename
did not exist.
. Changed the wording of the "Use Save Mode" option on
the configuration options screen to be more understand-
able.
. Rewrote the AddRecord, DeleteRecord, and ModifyRecord
routines to lock the database before attempting to make
any changes.
. Fixed a problem where the current record number was not
being properly set when the user pressed ENTER or Escape
on the browser screen. This caused the record pointer to
not be set properly, causing problems when attempting to
search for or delete records.
. Added a warning message box to users to change the
value of the Network Users field during Infodex. Since
this value can only be initialized when Infodex is
initially started, Infodex must be exited and restarted
in order for the new value to be used.
. Converted the Network Users field to a numeric field
internally, and specified a possible range between 0
and 65535.
. Added a close box to the browser screen to allow mouse
users to quickly close the browser.
. Added support for a refresh delay field on the configura-
tions options screen to allow users to specify the amount
of time before the screen should be updated with any
changes made to the current record on other workstations
on a network.
. Implemented changes in libraries and recompiled program.
. Added a configuration options screen to allow users to
specify a network type and whether or not Save Mode
should be used when working with files.
. Set minimum and maximum size limits for the Notes field
of each template to prevent redraw problems that would
occur when the width was reduced to less than 10 (approx.)
characters in size.
. Fixed a problem where the RebuildDataFile routine was not
working properly. Since this routine was calling the
BuildKey routine with an untyped var parameter, the var
parameter could not be set up with a .Init constructor,
which is mandatory for an object with virtual methods.
Removed the BuildKey virtual method from the object and
placed it separate, so it would not be mandatory to call
the .Init constructor before-hand.
. Added the ability for Infodex to "remember" the position
of the notes field for each separate database created by
the user. This allows users to position the notes field
in their favorite spot, customizing it to their individual
tastes.
. Fixed a problem where pressing the Escape key while
the Search screen was open would cause one or more
error messages to appear. This problem was due to a
missing begin-end statement set.
. Added a horizontal scroll bar to the browser to allow
users to use the mouse for horizontal scrolling.
. Modified code to make the hotkeys on the Search screen
Yellow On Blue instead of White On Blue.
. Decreased the initial height of the Browser by 2 lines.
. Fixed a problem where the program would terminate or
hang when attempting to compare a duplicate record to
an original record. The duplicate record (object) was
not being initialized with a call to Init.
. Fixed a problem where the browser would place an at (@)
symbol in the first field of the database if it
attempted to get a blank or non-existent record from
the browser listing. If an error occurs, Infodex will
reset the database to the first record.
. Fixed a problem where the headers within the browser
were not starting on the same column as the data
positioned below them.
. Added hot-keys to the radio buttons located on the
search screen to allow users to access needed fields
more rapidly.
. Expanded the information displayed in the Browser by
including all fields that serve as index keys. The
extra fields are on the right side of the browser, and
can be accessed by using the arrow keys. They do not
immediately show up in order to keep the display as
tidy as possible.
. Modified code to display all records found within the
Browser when a search routine is executed.
. Added complete error checking and processing for all
errors generated by the database functions.
. Modified code for the common template to disable
the ability to allow the user to move the dialog box
around on the screen. The template should be non-
moveable.
. Dramatically re-arranged code to create a master
template object, which allows new objects (templates)
to be created from the master template. New code
uses virtual methods to override the master template
methods. If a parent method is called by accident, a
"RecordType Not Defined ..." error message will appear,
indicating the source of the problem.
. Modified code to select the current record from the
Browsing window, even if Escape is pressed or the
right mouse button is clicked.
. Placed the code for the Browsing window on the heap
instead of the stack to conserve stack space.
. Modified code to continue executing the main Infodex
program instead of terminating it if the Browsing window
could not be initialized.
04-16-94 ■ Version 1.30 (Internal Revision - Not Released)
. Added code to display a confirmation box when the user
presses Escape or clicks the right mouse button. If
the record is being edited, a Cancel (Cancel-Edit) command
is issued. If the record is not being edited, a dialog
box appears to confirm that the user wants to close the
database file.
. Fixed a problem where the separator bars on the main
menu were not being connected properly to the right
side of the menu frame.
. Added automatic detection to the Notes fields to deter-
mine whether or not the text has been modified. Infodex
will only prompt to Save Note if the text has changed.
. Added a dialog box to ask the user if the entire record
should be saved after the Notes field has been edited
and saved.
. Removed the OpenFile routine from the overlaid section
of the code. This routine was causing spurious errors
and program termination when it was contained in the
overlaid section of the code.
. Added initial support for overlays. Overlaid about
10K of program code.
. Added initial code to support printing reports using
form-type layouts.
. Added a Print button to the main template to allow
users to print records within a database.
. Added key support to allow users to press enter on a
record in the browser, causing the record to be shown
on the editing screen.
. Added a browsing screen to allow users to browse
for one or more records in the database.
. Changed the filenames of the template files to
reflect the template name. Changed all internal
variable and command names to match the template
name.
. Corrected a problem where button invisibility was
not being handled properly.
. Fixed a problem where an Isam error #9903 (File Not
Found) was occurring when Infodex attempted to open a
file from another directory. Added a full path to
the front of the filename that is being opened and
created by the Isam routines.
. Modified the date fields for the Insurance template to
be stored in a 00-00-0000 format.
. Created a specialized command processor table for
handling template commands. This fixed a problem where
adding commands to the default table at run time would
cause the Up arrow key, Down arrow key, and other keys
to trigger exit commands from dialog boxes other than
the user templates.
. Decided to make all templates the same dimensions,
allowing for easier consistency within the code.
. Modified code to allow command button to be placed
on top of each other when there are visible. In order
to work around a programming bug, added a simple blue-
on-blue frame to cover up disabled controls that should
have been made invisible. Controls that are still
enabled automatically come to the front. This allows
the Save and Cancel buttons to be placed in the same
location as non-edit buttons, and only be displayed
when needed.
. Modified code that writes text to the hint line to
only change the header text on the bottom row, instead
of adding a new header each time a change was made.
This speeds up the writing process and reduces the
snow and other writing that is displayed in this area.
. Added support to rebuild the index (.IX) file in the
event that it is erased or corrupted.
04-10-94 ■ Version 1.20 (Internal Revision - Not Released)
. Fixed a problem where the Notes indicator was being
displayed on the BackDrop hint line, even if the notes
field was blank. This problem occurred on every template,
except the main Business template. The Business Notes
field was being referenced at all times, instead of
changing based on the actual template. Also, the Notes
field was being referenced as a 1-based array, instead
of a 0-based array, which is required for Asciiz types.
. Fixed problem where the cursor was not being restored
after Infodex was exited.
. Modified the EraseTemplateFields routine to use the
FillChar method to empty the entire contents of the
record, instead of setting each individual field to a
blank value.
. Changed the size of the buffer that is allowed when
editing a Notes field to be the exact size of Asciiz
string that is passed into the procedure.
. Modified code to display the user's registration name
on the About screen. If Infodex is unregistered, a
registration reminder will be displayed.
. Created a procedure to automatically draw STSI's
distinctive backdrop using any text string.
. Added a bracketed display to the lower right corner of
the hint line to inform users whether or not the Notes
field contains any data for the current record. When
the 'N' character appears between the brackets, the
notes field contains data. If the character field is
blank, the notes field is empty.
. Added code to differentiate between adding a new record
and modifying an existing record. Enhanced trapping
of the PgUp, PgDn, Ctrl-Home, and Ctrl-End keys to
prevent users from moving between records while editing
a record.
. Added a dialog box with a "Done" command button to the
View A Template screens to allow users to view the
template and select Done with the mouse or the keyboard
when they are finished.
. Added support to read the name of an existing database
file from the Infodex command line. When Infodex reads
the command line, it checks for the existence of this
file, and if it exists, loads it using the proper template.
. Added support for the ModifyRecord routine to modify
changed records when they have changed from the original.
. Fixed drastic problems with pointers to note fields.
Changed all Ascii-z pointer strings to non-pointer
Ascii-z strings. It appears as though the pointer
was actually being stored in the data file, rather
than the ascii-z string. Modified routines to
accommodate the difference in data types.
. Fixed a problem where selecting Cancel on the Search
dialog box would produce an error message that the
search string was not found. Modified code to only
attempt the search process if Ok is selected from the
Search dialog box.
. Fixed a problem where the error message "Search String
Not Found." would appear when first creating a database
or opening an empty database.
. Added a "View A Template" option to the Infodex Settings
menu to allow users to view any of the available
templates without actually creating a database.
. Added a confirmation dialog box to the Delete record
routine to make sure that records are not mistakenly
deleted by the user.
. Added user exit commands for the editing fields on each
template to allow users to use the down and up arrow keys
to go to the next or previous field, respectively. Also
added special commands to allow the PgUp, PgDn, Ctrl-Home,
and Ctrl-End keys to go to the previous, next, first, and
last records, respectively.
04-06-94 ■ Version 1.10 (Internal Revision - Not Released)
. Repositioned menus to be centered when a sub-menu is
opened beside the main menu.
. Added Delete An Existing Database option to the main
menu to allow users to delete a previously created
database. This option deletes the selected database
file (.DAT), as well as the accompanying files (.IX and
.INF) files.
. Added About Infodex option to the main menu. Added
Registration Information option to the main menu to
display the terms and conditions for use of Infodex.
. Added support for a searching function to locate
records based on any of several keys defined for each
template. This search function is currently case-
insensitive.
. Added a common unit to contain all of the template-
specific code. This makes adding a new template much
easier, leaving less room for error.
. Lengthened the Company Name field on the Business
template to accomodate longer company names.
. Added code to display the total records on the bottom
line of the screen.
. Added support for Library and Insurance templates.
. Changed heading on Notes field to be generic, instead
of having a specific heading for each template type.
. Fixed a problem where the First and Last routines
were not working properly. Record "wrapping" was
necessary.
. Modified routine to center the template header over
the data fields, rather than the entire dialog box.
. Added routine to create a generic backdrop, with a
mathematical formula of shifting. This fixed a problem
where the text on the right side of the backdrop was
one character too close to the edge.
. Added routines to read and write a .INF file for each
database created with Infodex. This allows Infodex
to read the .INF file to determine which template should
be used when opening an existing file.
. Initialized the bottom line of the backdrop as a help
line to optionally offer hints or display the copyright
information status. This line will also be used as the
memo status line and the status for the number of records
contained in the database.
. Database files created by the new version of Infodex
will have .DAT extensions for data files and .IX
extensions for the corresponding index files.
. Added a dialog box to allow users to enter a filename
when creating a new database.
. Added 3-D appearance to all menus and dialog boxes.
. Rewrote Infodex in a new programming language. Added a
stylish background with a new style of menuing system.
Created a default template layout with command buttons
to be used for all future templates. Created Business,
Personal, and Software templates.
12-30-93 ■ Version 1.02
. Rearranged procedures for unloading forms and closing
the database.
. Added a command to flush the keyboard after the user
presses a key at the welcome and/or logo screens. The
keypress would be passed to the data entry screen if command
line parameters were being used.
. Added a check for the existence of a .DEX file before
attempting to open it. This step was missed during
the processing of command line parameters.
. Fixed several potential problems in the command line
parameter interpretation routine. Fixed problem where
".DEX" was not being appended to parameters that did
not have an extension, and added code to convert any
parameters to UPPER CASE.
. Added code to store any command line parameter(s) into
a temporary variable to prevent potential corruption of
the command line parameters.
10-12-93 ■ Version 1.01
. Fixed problem where Infodex could not find the INFODEX.INI
file and other various problems, when a set was not found
in the AUTOEXEC.BAT, and the directory C:\INFODEX did not
exist. Now, Infodex checks first for an AUTOEXEC.BAT set,
then attempts to locate the C:\INFODEX directory, and if
neither of those exist, Infodex will use the current
directory.
. Fixed problem where the program would crash if a user
attempted to search for a record when no records had yet
been entered in the database.
. Changed method of searching for text. Now, when F4 is
pressed or Search is selected, a dialog box pops up, where
the user can enter the text to search for in the first field
of each template. Once OK is selected, search is executed,
with result displaying on the screen.
. Added error trapping when users attempt to create a new
data file to make sure that neither the filename cannot be
longer than 8 characters, and the extension cannot be longer
than 3 characters.
. Clarified text in help fields on New File screen.
. Changed headings on Open File screen to read "Open Data File"
instead of "Open Project" and "Data Filename:" instead of
"Project File:".
10-07-93 ■ Version 1.00
. Initial release of Infodex.